package main

// 定义接口
type Phone interface {
	call()
	shot(name string) string
}

// 定义结构体

type Nokia struct {
}

// Nokia实现方法
func (nokia Nokia) call() {
	println("Nokia Call...")
}

func (nokia Nokia) shot(name string) string {
	return "Nokia Shot => " + name
}

type IPhone struct {
}

// Iphone 实现
func (iphone IPhone) call() {
	println("IPhone Call...")
}


func (iphone IPhone) shot(name string) string {
	return "IPhone Shot -> " + name
}



func main() {
	var p Phone
	p = new(Nokia)
	p.call()
	println(p.shot("cat"))

	p = new(IPhone)
	p.call()
	println(p.shot("dog"))
}

